#pragma once
#include <exception>
#include <string>
using namespace std;

class gp_Exception : public exception
{
public:
	gp_Exception();
	gp_Exception(string msg);
	~gp_Exception() throw ();

	void setMessage(string msg);
	virtual const char* what() const throw ();

private:
	string m_message;
};


void Standard_ConstructionError_Raise_if(bool condition,const char* message);
void Standard_OutOfRange_Raise_if(bool condition, const char* message);
void Standard_RangeError_Raise_if(bool condition, const char* message);
void Standard_NumericError_Raise_if(bool condition, const char* message);
void Standard_DimensionError_Raise_if(bool condition, const char* message);
void Standard_DomainError_Raise_if(bool condition, const char* message);
void gp_VectorWithNullMagnitude_Raise_if(bool condition, const char* message);